In semantic web and knowledge engineering applications, an ontology is used to define a hierarchy of concept classes in a domain, and the attributes and relationships that may exist on or between instances of those classes. Typically development of these ontologies is conducted separately from their use, but inevitably attempted use of the ontology uncovers inadequacies, such as missing classes or relationships. So a workflow involving a cycle of ontology modification and use is necessary. Existing work practices segregate ontology specification and modification either to different sections and/or commands of a tool from those involved in actual use of the ontology, or relegate ontology specification and maintenance to separate tools from those involved in ontology use.